from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


# 豆瓣同城业务：登录+感兴趣***********


driver = webdriver.Chrome()
driver.maximize_window()
sleep(2)
driver.get('https://www.douban.com/')
sleep(3)
# 豆瓣登录线*****
# 第一步：进入frame框架
f = driver.find_element(By.XPATH, '/html/body/div[2]/div/div[1]/iframe')
driver.switch_to.frame(f)
sleep(3)
# 第二步：点击密码登录
driver.find_element(By.CLASS_NAME, 'account-tab-account').click()
sleep(3)
# 第三步：输入手机号
driver.find_element(By.ID, 'username').send_keys('15985645480')
sleep(2)
# 第四步：输入密码
driver.find_element(By.ID, 'password').send_keys('gW09092434')
sleep(2)
# 第五步：点击登录豆瓣
driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div[1]/div[5]/a').click()
sleep(10)
# 第六步：点击短信登录验证
driver.find_element(By.XPATH, '/html/body/div[1]/div[3]/div[1]/div[3]/a').click()
sleep(2)
# 第七步：输入手机号
driver.find_element(By.NAME, 'phone').send_keys('15985645480')
# 第八步：强制等待20s 输入验证码
sleep(30)
# 第九步：点击豆瓣登录
driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div[1]/div[5]/a').click()
sleep(2)

# 第十步  退出frame框架
driver.switch_to.default_content()
sleep(2)

# 豆瓣同城：感兴趣*****
# 第一步：点击同城
try:
    tc = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable(
            (By.XPATH, '/html/body/div[1]/div/div[4]/ul/li[5]/a'))
    )
    tc.click()
except Exception as e:
    print(f"异常：{e}")
    raise
sleep(2)
# 第三步：窗口切换
driver.switch_to.window(driver.window_handles[-1])
sleep(3)
# 第四步：选择下拉框


# 第四步：滚动到底部
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
sleep(2)
# 第五步：点击图片
driver.find_element(By.XPATH, '/html/body/div[4]/div[1]/div/div[1]/div[6]/div[10]/div[2]/ul/li[1]/div[1]/a/img').click()
sleep(2)
# 第六步：点击感兴趣
driver.find_element(By.XPATH, '/html/body/div[4]/div[1]/div/div[1]/div[1]/div[2]/div[2]/a[1]/span').click()
sleep(10)
# # 第五步：输入对这个活动说两句：
# driver.find_element(By.CSS_SELECTOR, '#interest_comment').send_keys('看标题，感觉不错！')
# sleep(2)
# # 第七步：点击确定
# driver.find_element(By.ID, 'save_button').click()
# sleep(2)

# 第八步：点击取消（取消感兴趣）
driver.find_element(By.XPATH, '//a[@href="https://www.douban.com/event/35190100/?interest=do_cancel&ck=tM6c"]').click()
sleep(2)
# 第九步：弹窗确定关闭
alert = driver.switch_to.alert
alert.accept()

sleep(10)




